//#include "reg52.h"
//
//typedef unsigned int u16;
//typedef unsigned char u8;
//
//void uart_init(u8 baud)
//{
//	TMOD |= 0x20;
//    SCON = 0x50;
//    PCON = 0x80;
//    TH1 = baud;
//    TL1 = baud;
//    ES = 1;
//    EA = 1;
//    TR1 = 1;
//}
//
//int main()
//{
//    uart_init(0xFA);
//
//    while (1)
//    {
//
//    }
// 
//     return 0;
//}
//
//void uart() interrupt 4
//{
//    u8 rec_data;
//    RI = 0;
//    rec_data = SBUF;
//    SBUF = rec_data;
//    while (!TI);
//    TI = 0;
//}

#include "reg52.h"

typedef unsigned int u16;
typedef unsigned char u8;

void uart_init(u8 baud)
{
	TMOD |= 0x20;
   SCON = 0x50;
   PCON = 0x80;
   TH1 = baud;
   TL1 = baud;
   ES = 1;
   EA = 1;
   TR1 = 1;
   ET1 = 0;
}

int main()
{
   uart_init(0xFA);

   while (1)
   {

   }

    return 0;
}

void uart_send_byte(u8 byte)
{
    SBUF = byte;
    while (TI == 0)
    TI = 0;
}

void uart() interrupt 4
{
    if (RI == 1)
    {
        P2 = ~SBUF;
        uart_send_byte(SBUF);
        RI = 0;
    }
}